package com.wzy.authority.mapper;

import com.github.pagehelper.Page;
import com.wzy.authority.base.dto.SysUserDto;
import com.wzy.authority.domain.SysUser;
import org.apache.ibatis.annotations.Select;

public interface SysUserMapper {
    /**
     * 根据主键删除记录
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 插入一条记录,并返回id
     * @param record
     * @return
     */
    int insert(SysUser record);

    /**
     * 选择性插入一条记录
     * @param record
     * @return
     */
    int insertSelective(SysUser record);

    /**
     * 根据id查询用户信息
     * @param id
     * @return
     */
    SysUser selectByPrimaryKey(Integer id);

    /**
     * 根据用户id选择性(空不修改)修改用户数据
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(SysUser record);

    /**
     * 根据用户id修改用户信息
     * @param record
     * @return
     */
    int updateByPrimaryKey(SysUser record);


    /**
     * 根据用户传入信息分页查询数据
     * @param sysUserDto
     * @return
     */
    Page<SysUser> selectUserList(SysUserDto sysUserDto);


    /**
     * 根据用户名获取用户
     * @param username
     * @return
     */
    @Select("select * from sys_user where username = #{username}")
    SysUser selectUserByNane(String username);
}